Field Not Initialized (FNI)

Description:

This audit finds uninitialized class fields that are not initialized:

Incorrect:

Foo = class

    private
      msg:MyMessage;
    public
      procedure printMessage();
end;
...
procedure Foo.printMessage();
begin
    msg.print();
end;

Correct:

Foo = class

    private
      msg:MyMessage;
    public
      constructor Create(msg:MyMessage);
      procedure printMessage();
end;
...
constructor Foo.Create(msg:MyMessage);
begin
    inherited Create;
    self.msg := msg;
end;

procedure Foo.printMessage();
begin
    msg.print();
end;